home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 October / Macworld (1998-10).dmg / Shareware World / Info / For Developers / MacZoop 1.8.4 / More Classes / File Classes / ZResourceFile.h < prev   
Encoding:
C/C++ Source or Header  |  1998-04-16  |  2.0 KB  |  84 lines  |  [TEXT/CWIE]

  1. /*************************************************************************************************
  2. *
  3. *
  4. *            MacZoop - "the framework for the rest of us"         
  5. *
  6. *
  7. *
  8. *            ZResourceFile.h        -- a generic resource file/manager object
  9. *
  10. *
  11. *
  12. *
  13. *
  14. *            © 1997, Graham Cox
  15. *
  16. *
  17. *
  18. *
  19. *************************************************************************************************/
  20.  
  21. #pragma once
  22.  
  23. #ifndef __ZRESOURCEFILE__
  24. #define    __ZRESOURCEFILE__
  25.  
  26. #ifndef __ZFILE__
  27. #include    "ZFile.h"
  28. #endif
  29.  
  30. #include    <resources.h>
  31.  
  32. class    ZResourceFile : public ZFile
  33. {
  34. public:
  35.     
  36.     ZResourceFile( const FSSpec& aSpec );
  37.     ZResourceFile( Str255 fName );
  38.     ZResourceFile( const short resRefNum );
  39.     
  40. // getting resources
  41.  
  42.     virtual Handle        ReadResource( const ResType aType, const short resID, const Boolean detachIt = FALSE );
  43.     virtual Handle        ReadResource( const short index, const ResType aType, const Boolean detachIt = FALSE );
  44.     virtual Handle        ReadResource( const ResType aType, Str255 resName, const Boolean detachIt = FALSE );
  45.  
  46. // resource info
  47.  
  48.     virtual Boolean        OwnsResource( Handle aResHandle );
  49.     virtual Boolean        HasResource( const ResType aType, const short resID );
  50.     virtual Boolean        HasResType( const ResType aType );
  51.     
  52.     virtual short        TotalResources();
  53.     virtual short        CountResources( const ResType aType );
  54.     
  55.     virtual short        GetRFAttributes();
  56.     
  57.     virtual void        GetResourceInfo( Handle aResHandle, ResType* itsType, short* itsID, Str255 itsName );
  58.     virtual void        GetResourceInfo( Handle aResHandle, ResType* itsType, short* itsID );
  59.     
  60. // writing resources
  61.  
  62.     virtual void        WriteResource( Handle aResHandle, const ResType aType, const short resID );
  63.     virtual void        WriteResource( Ptr data, const long length, const ResType aType, const short resID );
  64.     
  65. // deleting resources
  66.  
  67.     virtual void        DeleteResource( Handle aResHandle );
  68.     virtual void        DeleteResource( const ResType aType, const short resID );
  69.     virtual void        DeleteAll();
  70.     
  71. // other stuff
  72.  
  73.     virtual void        ResourceModified( Handle aResHandle );    
  74.     virtual void        Flush();    
  75.  
  76. };
  77.  
  78.  
  79. // pass to Write resource (resID) to allocate a unique ID
  80.  
  81. #define        _UNIQUE_ID        -1
  82.  
  83.  
  84. #endif